home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- Welcome to probably the only
-
- _______ ________ _______
- // \ | // \
- // \ | // \
- // \ | _ // \
- _//------------\_ |_______| _//------------\_
-
- Docfile in exsistance.
-
-
- This docfile has been split up into different sections :-
-
- A - Screens
- B - Colour Palette Setup
- C - Hardware Sprite
- D - Quater Pixel Scrolling
-
- Although after reading through this file and studying the included
- source code you will be able to program the AGA chipset there are
- probably a fews things missing, but its nothing I needed to know.
-
-
-
- Section (A) Screens
- ~~~~~~~~~~~~~~~~~~~~~~~
- The new chipset enables you to have eight bitplanes instead of the
- old six which gives you screens with upto 256 colours or 262,144 in
- HAM8. Another bonus of eight bitplane is that the Dual Playfield
- mode now can have two 16 colour screens instead of 8.
-
- Enabling the screen modes :-
-
- Setting the register $dff100 (Bplcon0) to the following values
- will give you the enhance screens.
-
- $7200 - Selects 7 bitplanes
-
- $0210 - Selects 8 bitplanes
-
- $0a10 - Selects 8 bitplanes with HAM8
-
- Also the register $dff1fc (Fmode) must be set to $0003.
-
-
- Modulos
- ~~~~~~~
- The modulo values for an eight bitplane interleaved screen are what
- you would expect 40*7, but for some reason ( and this goes for all
- number of planes) 8 has to be taken off to give you 40*7-8. This is
- the same for both bpl1mod and bpl2mod.
-
-
- Section (B) Colours
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- In the old chipset a colour value ranged from 0-4096 giving you a 12
- bit colour value ie. $fff is white. Now the new chipset can select a
- colour from 16,777,216 which means the colour value is 24 bit.
-
- One problem we have is that the amiga has only 32 colour registers
- and we sometimes need to set upto 256 different colours, so does the
- new chipset have 256 colour registers ? NO. What the chips do is they
- split the 256 colours up, firstly they are separated into eight banks
- of 32 colours then split again into two word values ie. colour value
- $fefefe which is almost 24 bit white is split to give $fff and $eee.
- What you have now is two sets of 8 * 32 colour banks one for the top
- 4 bits of each RGB component and one for the bottom 4 bits.
-
- To select a bank of 32 colours to set we use $dff106 (bplcon3) this
- when set to a certain value will enable you to change a certain bank
- of colours or bits. The top 4 bits of your colour have to set this
- register to one of eight values ( $0c40, $2c40, $4c40, $6c40, $8c40
- $ac40, $cc40 and finally $ec40). The bottom 4 bits are accessed the
- same way except the $c40 is changed to $e40.
-
-
- Section (C) Sprites
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- One of the enhancements which was long overdue was bigger sprite,
- these can now be upto 64 pixels wide ( but still only 8 and the same
- colour selection applies ie 4 or 16 colour attached).
-
- To enable the extra wide sprites the register $dff1fc (Fmode) must
- be set to $000c, then the other thing to notice is that the control
- words have moved slightly :-
-
- Old way Control Word1 Control Word2
-
- V V
- | |
- V V
-
- MySpriteData dc.w $9c3c,$cc00
-
-
- New way Control Word1
-
- V
- |
- V
-
- MySpriteData dc.w $9c3c,$0000,$0000,$0000
- dc.w $cc00,$0000,$0000,$0000
-
- ^
- |
- ^
-
- Control Word2
-
-
- Section (C) Scrolling
- ~~~~~~~~~~~~~~~~~~~~~~~~~
-
- The new chipsets hardware scroll feature has been changed so that
- you can now move in quarter increments, this can give you very nice
- raster scrolls.
-
- The register used is still $dff102 (bplcon1), but extra bits are
- now used. For example :-
-
- To scroll all even planes we use bits 0-3 for normal scroll.
-
- For quarter scroll we use the above bits plus bits 8-9.
-
- Also there is extended scroll to move the screen more than 16 pixels
- these bits are 10-11.
-
- This in total gives you a scroll value from 0-255 although you only
- move 64 true pixels the rest are just quarter steps.
-
-
- Extra Information
- ~~~~~~~~~~~~~~~~~
-
- All graphical information on the A1200 is fussy about the
- boundary its placed on ie word or long word. The easiest way to
- get around this is to use a section statement before each incbin
- you use.
-
-
- All the above things mentioned have an example file included
- on this disc for you to mess about with, they were all written
- using Hisoft Devpac v3.04.
-
- Hope this helps you out and gets more A1200 only games on
- the scene.
-
-
- / /
- / /
- / /
- \ \/ /
- \/\/ Amiga Forever !!!!!
-
-